package config

import (
	"encoding/json"
	"log"
	"os"
)

var Config ConfigData

func InitConfig() {
	data, err := os.ReadFile("./config/config.json")
	if err != nil {
		log.Fatalf("读取配置文件失败: %v", err)
	}

	// 将 JSON 数据解析到结构体
	err = json.Unmarshal(data, &Config)
	if err != nil {
		log.Fatalf("解析 JSON 失败: %v", err)
	}
	// 输出解析结果
	result, err := json.Marshal(Config)
	if err != nil {
		log.Fatalf("解析 JSON 失败: %v", err)
	}
	log.Printf("Config 解析结果: %s\n", string(result))
}

type ConfigData struct {
	Postgres PostgresConfig `json:"postgres"`
	Token    TokenConfig    `json:"token"`
}

type PostgresConfig struct {
	Host     string `json:"host"`
	Port     string `json:"port"`
	User     string `json:"user"`
	Password string `json:"password"`
	DBName   string `json:"dbname"`
}

type TokenConfig struct {
	Secret string `json:"secret"`
	Hour   int    `json:"hour"`
}
